home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / INTERNET / SITES / RAND / UNSPLIT / text0031.txt < prev    next >
Encoding:
Text File  |  1997-02-06  |  4.7 KB  |  97 lines

  1. Doug here,
  2.  
  3. > I just finished some new PMMU software for the Afterburner - it uses some
  4. > nifty features of the 68040's new cache to improve speed and reduce reliance
  5. > on the Falcon BUS & external FastRAM.
  6.  
  7. > Didn't they support copy-back mode before or what?
  8.  
  9. No, they didn't - but I'm not all that sure I blame them.
  10.  
  11. Copyback mode is not exactly Falcon-friendly, as they don't seem to have
  12. connected up the bus-snooping lines to monitor the DMA bus request signals, and
  13. this leads to lack of coherency between cache and memory. The trick is knowing
  14. where and when it's safe to map a page as copyback instead of write-through.
  15. Getting this even slightly wrong results in bad crashing even during the boot
  16. sequence.
  17.  
  18. > Remember the GEMBench results for FPU calculation? It used to be about 133%
  19. > which I always said looked 'funny' to say the least - well below spec.
  20.  
  21. > I actually wrote a longish article about GEMBench vs AB040 after I read
  22. > some of your earlier comments in NeST. I've not yet posted that, but in
  23. > essence it says that GEMBench's processor tests are just about completely
  24. > worthless.
  25.  
  26. Yes, I have looked at the object code, and to say that it's even just a
  27. real-world test as opposed to a performance benchmark would be doing it
  28. a big favour. Took me a good 2 minutes to actually find the FPU instructions
  29. in there - and it's not supposed to do anything else... :)
  30.  
  31. The only thing it's really good for is testing something against itself, and
  32. very approximately against it's predecessors. No sense of scale involved of
  33. course, but it shows up when things don't work. In this case, the FPU didn't
  34. work (in a manner of speaking).
  35.  
  36. > For floating point GEMBench uses an autodetecting FP library, which means
  37. > that everything is done through functions, and the FPU registers are only
  38. > used internally in those. For simple things, like FADD etc, most of the
  39. > time is spent accessing the stack and such...
  40.  
  41. Yes, I know - and the M68040FPSP library makes intensive use of the supervisor
  42. stack, which is why I mapped it copyback in the first place. I was not happy
  43. with the FPU results. Basically because it indicated a lower performance than
  44. a 68882 at the same clock rate, which I knew to be wrong from the scientific
  45. journals I aquired when the chip was announced some years ago.
  46.  
  47. > (It's likely that the stack accesses are what your new PMMU setup improves.)
  48.  
  49. That's exactly what's happening. The FPU itself makes little use of the data cache
  50. other than the odd memory reference when converting / storing floats. I didn't
  51. expect the datacache to improve the arithmetic capabilities of the chip, but rather
  52. reduce it's reliance on external RAM.
  53.  
  54. > The memory test is not quite that bad, but comparing the figures between
  55. > an ST and a Falcon doesn't really say anything at all.
  56.  
  57. I know - but it does indicate the difference in execution speed between Falcon030
  58. & 68040 when running GEMBench - which is all most people can relate to. I have a
  59. complete cycle sheet here and I KNOW the behaviour of most of the instruction types
  60. when in the pipeline, but it's hard to articulate this in a way that has any depth.
  61.  
  62. It can perform a double-precision floating point multiply in 4 cycles, compared with
  63. the 68882's large double figures / small triple-figures - but it's not easy for
  64. everyone to visualise all the complexities of waitstates, scoreboarding etc. 
  65.  
  66. > With the new software, the FPU calculation is 360%!
  67.  
  68. > The FPU in the '040 is actually _ten_ times faster than an equal clocked
  69. > '882 on (most of) the things it can do. For the non-simple things, which
  70. > have to be emulated by software, it's not much faster than the '882.
  71. > Naturally, a large part of GEMBench's FP testing uses those...
  72.  
  73. Of course - and concurrency is lost during such operations, especially when
  74. they reference RAM.
  75.  
  76. Interestingly, POV-Raytrace runs about 3 times faster with the super-stack
  77. in copyback mode than it does without - I wonder how it would perform with the
  78. more intensively used user-stack? It's a bit hard to keep track of the user stack
  79. though, and more than a little unsafe too. Still might be worth patching... :)
  80.  
  81. > I'll be releasing the new software when it's ready...
  82.  
  83. > I _really_ must find the money for an AfterBurner soon!
  84.  
  85. I was disappointed at first, as I had some problems with crashing and so on,
  86. but after getting my 68040 user manual I was able to actually fix things and
  87. experiment a bit. Worthwhile in the end - I would have been completely lost
  88. without that book.
  89.  
  90. I just made a mod to the software to copy ROM into FastRAM and shadow it with the
  91. MMU, but It's hard to tell exactly what difference it's made to the performance
  92. of the machine in general - GEMBench reports nearly 1000% on the ROM, but we all
  93. know what that means.. :)
  94.  
  95. Doug.
  96.  
  97.